package com.cskaoyan.basic._0datatype;
/**
 * 数据类型
 * 1.定义:
 *      数据类型，表示的是一组数据的集合，和基于该数据集合的一组合法操作。
 *      也就是说，数据类型不仅表示一组数据的集合，更重要的是它还限制了这组数据能够执行的操作。
 *      典型的:
 *      int是一个数据类型,它表示整数,它是一组整数的数据集合
 *          另外它还表示这组整数数据能够做的操作
 *          能够做加减乘除等整数能够做的操作
 *          但是它没有长度,宽度,高度的概念,也不能做相关的操作.
 *      String是一种数据类型,它表示字符串,Java当中的字符串都是String类型
 *          另外它还规定了字符串能够做的操作
 *          比如能够用"+"拼接字符串,有长度概念
 *          但是不能做减法等
 *
 * 2.数据类型的分类:
 *      a.基本数据类型,四类八种
 *          1.整型,以二进制有符号数的形式存储,占用内存空间越大,存储的整数范围越广
 *          2.浮点型,遵循IEEE754标准,有两个特点:
 *          把浮点数理解成科学计数法,所以
 *              优点是可以表示相当大和相当小的数字
 *                  所有的浮点数类型的数值表示范围都要远大于整型
 *              缺点是有精度问题.
 *              注意,不要把浮点数理解成小数,浮点数可以表示小数而已.
 *          3.字符型,只有一个，就是char
 *              字符型虽然看起来是存储字符的
 *              但本质上仍然是一个整型，存储了一个整数
 *              而且无符号整数，是一个正整数
 *              char类型占2个字节，16位
 *              它的整数取值范围是[0,65535]
 *              字符型是可以参与数值运算的，参与运算的是它的编码值。
 *
 *          4.布尔类型
 *              只有一个boolean
 *              取值只有两个
 *              要么true 要么false
 *              注意：
 *                  上述基本数据类型本质都是一个数值
 *                  但布尔类型不是，它不是数值
 *
 *      b.引用数据类型
 *          Java中一个变量只要不是基本数据类型，那么一定是引用数据类型
 *          最典型的引用数据类型就是，String
 *          System
 *
 *
 * @since 16:03
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        int a = 10;

        String str = "hello";
        System.out.println(str + 123);
        System.out.println(str.length());

        // Long number too large
        // long b = 10000000000000000000L;

        float c = 10000000000000000000F;

        float d = 123456789123F;
        System.out.println(d);

        char e = 'a';
        // 输出97，97是字符'a'的编码值
        System.out.println(e + 0);

        char f = 97;
        System.out.println(f);

    }
}
